package com.ruoyi.teacher.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 教师基本信息对象 t_a01
 *
 * @author Mie
 * @date 2022-04-12
 */
public class Teacher extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 人员标识符 */
    private Long a00;

    /** 姓名 */
    @Excel(name = "姓名")
    private String a0101;

    /** 部门ID */
    private Long deptId;

    /** 用户ID */
    private Long userId;

    /** 性别 */
    @Excel(name = "性别")
    private String a0104;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date a0107;

    /** 籍贯 */
    @Excel(name = "籍贯")
    private String a0111b;

    /** 出生地 */
    @Excel(name = "出生地")
    private String a0114b;

    /** 民族 */
    @Excel(name = "民族")
    private String a0117;

    /** 健康状况 */
    @Excel(name = "健康状况")
    private String a0127;

    /** 婚姻状况 */
    @Excel(name = "婚姻状况")
    private String a0131;

    /** 参加工作日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "参加工作日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date a0134;

    /** 政治面貌 */
    @Excel(name = "政治面貌")
    private String a0141;

    /** 户籍所在地 */
    @Excel(name = "户籍所在地")
    private String a0181a;

    /** 有效证件类别 */
    @Excel(name = "有效证件类别")
    private String a0183;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String a0184;

    /** 教师编号 */
    @Excel(name = "教师编号")
    private String a0199;

    /** 照片 */
    @Excel(name = "照片")
    private String zdyxa0106;

    /** 删除标识 */
    private String delFlag;

    /** 人员现状 */
    private String zdyxa0109;

    /** 进入本校时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "进入本校时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date zdyxa01110;

    /** 用户对象 */
    List<SysUser> users;

    /** 用户组 */
    private Long[] userIds;
    //
    ///** 人员学历学位对象 */
    //private Degree degree;

    public Teacher() {
    }

    public Teacher(Long a00) {
        this.a00 = a00;
    }

    //public Degree getDegree() {
    //    return degree;
    //}
    //
    //public void setDegree(Degree degree) {
    //    this.degree = degree;
    //}

    public List<SysUser> getUsers() {
        return users;
    }

    public void setUsers(List<SysUser> users) {
        this.users = users;
    }

    public Long[] getUserIds() {
        return userIds;
    }

    public void setUserIds(Long[] userIds) {
        this.userIds = userIds;
    }

    public void setA00(Long a00)
    {
        this.a00 = a00;
    }

    public Long getA00()
    {
        return a00;
    }
    public void setA0101(String a0101)
    {
        this.a0101 = a0101;
    }

    public String getA0101()
    {
        return a0101;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setA0104(String a0104)
    {
        this.a0104 = a0104;
    }

    public String getA0104()
    {
        return a0104;
    }
    public void setA0107(Date a0107)
    {
        this.a0107 = a0107;
    }

    public Date getA0107()
    {
        return a0107;
    }
    public void setA0111b(String a0111b)
    {
        this.a0111b = a0111b;
    }

    public String getA0111b()
    {
        return a0111b;
    }
    public void setA0114b(String a0114b)
    {
        this.a0114b = a0114b;
    }

    public String getA0114b()
    {
        return a0114b;
    }
    public void setA0117(String a0117)
    {
        this.a0117 = a0117;
    }

    public String getA0117()
    {
        return a0117;
    }
    public void setA0127(String a0127)
    {
        this.a0127 = a0127;
    }

    public String getA0127()
    {
        return a0127;
    }
    public void setA0131(String a0131)
    {
        this.a0131 = a0131;
    }

    public String getA0131()
    {
        return a0131;
    }
    public void setA0134(Date a0134)
    {
        this.a0134 = a0134;
    }

    public Date getA0134()
    {
        return a0134;
    }
    public void setA0141(String a0141)
    {
        this.a0141 = a0141;
    }

    public String getA0141()
    {
        return a0141;
    }
    public void setA0181a(String a0181a)
    {
        this.a0181a = a0181a;
    }

    public String getA0181a()
    {
        return a0181a;
    }
    public void setA0183(String a0183)
    {
        this.a0183 = a0183;
    }

    public String getA0183()
    {
        return a0183;
    }
    public void setA0184(String a0184)
    {
        this.a0184 = a0184;
    }

    public String getA0184()
    {
        return a0184;
    }
    public void setA0199(String a0199)
    {
        this.a0199 = a0199;
    }

    public String getA0199()
    {
        return a0199;
    }
    public void setZdyxa0106(String zdyxa0106)
    {
        this.zdyxa0106 = zdyxa0106;
    }

    public String getZdyxa0106()
    {
        return zdyxa0106;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setZdyxa0109(String zdyxa0109)
    {
        this.zdyxa0109 = zdyxa0109;
    }

    public String getZdyxa0109()
    {
        return zdyxa0109;
    }
    public void setZdyxa01110(Date zdyxa01110)
    {
        this.zdyxa01110 = zdyxa01110;
    }

    public Date getZdyxa01110()
    {
        return zdyxa01110;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("a00", getA00())
                .append("a0101", getA0101())
                .append("userId", getUserId())
                .append("deptId", getDeptId())
                .append("a0104", getA0104())
                .append("a0107", getA0107())
                .append("a0111b", getA0111b())
                .append("a0114b", getA0114b())
                .append("a0117", getA0117())
                .append("a0127", getA0127())
                .append("a0131", getA0131())
                .append("a0134", getA0134())
                .append("a0141", getA0141())
                .append("a0181a", getA0181a())
                .append("a0183", getA0183())
                .append("a0184", getA0184())
                .append("a0199", getA0199())
                .append("zdyxa0106", getZdyxa0106())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("delFlag", getDelFlag())
                .append("remark", getRemark())
                .append("zdyxa0109", getZdyxa0109())
                .append("zdyxa01110", getZdyxa01110())
                .toString();
    }
}
